//jiudge: 31426: 1699964282
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
typedef pair<int,int> pii;
const int N=2e5+7;
int n,k,c,d;
vector<int>v[5];
int dp[N][20];
void solve(){
cin>>n;
memset(dp,-1,sizeof dp);
dp[0][0]=0;
for(int i=1;i<=n;i++){
cin>>k;
for(int j=1;j<=3;j++)v[j].clear();
for(int j=1;j<=k;j++){
cin>>c>>d;
v[c].push_back(d);
}
for(int j=1;j<=3;j++)sort(v[j].begin(),v[j].end(),greater<int>());
for(int j=0;j<=9;j++){
dp[i][j]=max(dp[i][j],dp[i-1][j]);
if(dp[i-1][j]==-1)continue;
int nx=(j+1)%10;
int ma=-1,ma2=-1;
for(int k=1;k<=3;k++)if(!v[k].empty())ma=max(ma,v[k][0]);
ma2=2*ma;
if(ma==-1)continue;
if(j<9)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
nx=(j+2)%10;
ma=ma2=-1;
if(v[1].size()<1)continue;
if(v[2].size()>=1)ma=max(ma,v[1][0]+v[2][0]),ma2=max(ma2,(v[1][0]+v[2][0])+max(v[1][0],v[2][0]));
if(v[1].size()>=2)ma=max(ma,v[1][0]+v[1][1]),ma2=max(ma2,2*v[1][0]+v[1][1]);
if(ma==-1)continue;
if(j<8)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
nx=(j+3)%10;
if(v[1].size()<3)continue;
ma=v[1][0]+v[1][1]+v[1][2],ma2=ma+v[1][0];
if(ma==-1)continue;
if(j<7)dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma);
else dp[i][nx]=max(dp[i][nx],dp[i-1][j]+ma2);
}
}
int ans=-1;
for(int i=0;i<=9;i++)ans=max(ans,dp[n][i]);
cout<<ans<<'\n';
}
signed main(){
int t=1;
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
// cin>>t;
while(t--)solve();
return 0;
}
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |
1356. Sort Integers by The Number of 1 Bits | 922. Sort Array By Parity II |
344. Reverse String | 1047. Remove All Adjacent Duplicates In String |
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |